# @Time    : 2022/8/21 18:43
# @Author  : 南黎
# @FileName: 3.通过句柄设置窗口.py
import win32gui

# 注意窗口句柄获取如果失败，要做好异常处理
try:
    # 获取窗口句柄
    handle = win32gui.FindWindowEx(0, 0, "Notepad", None)#
    print("窗口句柄是：{}".format(handle))
except Exception as e:
    print("窗口句柄获取失败：{}".format(e))

try:
    # 获取窗口信息 （x,y坐标，还有宽度，高度）
    handleMessage = win32gui.GetWindowRect(handle)#通过窗口句柄获取窗口信息
    print("窗口 x,y坐标，还有宽度，高度是：{}".format(handleMessage))
    # 获取窗口标题
    title = win32gui.GetWindowText(handle)
    print("窗口标题是：{}".format(title))
    # 获取窗口类名
    class_name = win32gui.GetClassName(handle)
    print("窗口类名是：{}".format(class_name))

    # 设置窗口
    # 参数：句柄，窗口左边界，窗口上边界，窗口宽度，窗口高度，确定窗口是否被刷新
    win32gui.MoveWindow(handle, 0, 0, 500, 500, True)
    # 设置窗口后获取窗口信息，查看是否设置成功
    handleMessage = win32gui.GetWindowRect(handle)#通过窗口句柄获取窗口信息
    print("修改窗口后的窗口 x,y坐标，还有宽度，高度是：{}".format(handleMessage))

except Exception as e:
    print("窗口信息获取失败：{}".format(e))